// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "WeaponCustomLogicBase.h"
#include "WeaponBuildingBase.h"
#include "BuildingCustomLogicBase.generated.h"

/**
 * the base custom logic for building
 */
UCLASS()
class ISALONG2_API UBuildingCustomLogicBase : public UWeaponCustomLogicBase
{
	GENERATED_BODY()

public:
	virtual void Init(AWeaponBuildingBase* compOwner);

protected:
	AWeaponBuildingBase* _compOwner;

protected:
	bool _override_OnCollisionEnable = false;
	bool _override_OnPlaced = false;
	bool _override_OnHurt = false;
	bool _override_OnSupportOff = false;

public:
	bool Get_Override_OnCollisionEnable();
	bool Get_Override_OnPlaced();
	bool Get_Override_OnHurt();
	bool Get_Override_OnSupportOff();
	// to be override
public:
	virtual void OnCollisionEnable() {}
	virtual void OnPlaced() {}
	virtual void OnHurt(AActor* shotter, FVector impactNormal, FVector hitLocation, int HurtType, float hurtValue, UPrimitiveComponent* hitComponent) {}
	virtual void OnSupportOff() {}
};
